{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Tuning a `multi_match` `best_fields` query with document expansion by T5 query prediction"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "%load_ext autoreload\n",
    "%autoreload 2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "import importlib\n",
    "import os\n",
    "import sys\n",
    "\n",
    "from elasticsearch import Elasticsearch\n",
    "from skopt.plots import plot_objective"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "# project library\n",
    "sys.path.insert(0, os.path.abspath('..'))\n",
    "\n",
    "import qopt\n",
    "importlib.reload(qopt)\n",
    "\n",
    "from qopt.notebooks import evaluate_mrr100_dev, optimize_query_mrr100\n",
    "from qopt.optimize import Config"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "# use a local Elasticsearch or Cloud instance (https://cloud.elastic.co/)\n",
    "es = Elasticsearch('http://localhost:9200')\n",
    "\n",
    "# set the parallelization parameter `max_concurrent_searches` for the Rank Evaluation API calls\n",
    "max_concurrent_searches = 10\n",
    "\n",
    "index = 'msmarco-document'\n",
    "template_id = 'most_fields'"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Baseline evaluation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Evaluation with: MRR@100\n",
      "Score: 0.2505\n",
      "CPU times: user 1.62 s, sys: 432 ms, total: 2.06 s\n",
      "Wall time: 2min 48s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "\n",
    "_ = evaluate_mrr100_dev(es, max_concurrent_searches, index, template_id,\n",
    "    params={\n",
    "        'url|boost': 1.0,\n",
    "        'title|boost': 1.0,\n",
    "        'body|boost': 1.0,\n",
    "    })"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Query tuning"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Optimizing parameters\n",
      " - metric: MRR@100\n",
      " - queries: data/msmarco-document-sampled-queries.1000.tsv\n",
      " - queries: data/msmarco/document/msmarco-doctrain-qrels.tsv\n",
      " - iteration 1 scored 0.2050 with: {'url|boost': 9.203162802551738, 'title|boost': 6.579267617383428, 'body|boost': 6.18686851913847}\n",
      " - iteration 2 scored 0.1719 with: {'url|boost': 9.990535987925739, 'title|boost': 5.65742859906887, 'body|boost': 1.7320190682727934}\n",
      " - iteration 3 scored 0.2413 with: {'url|boost': 2.7212542212191444, 'title|boost': 2.778548730502019, 'body|boost': 4.797412947282158}\n",
      " - iteration 4 scored 0.2262 with: {'url|boost': 6.10997646538377, 'title|boost': 6.839796438246055, 'body|boost': 6.873786544022141}\n",
      " - iteration 5 scored 0.2429 with: {'url|boost': 3.3287045732527414, 'title|boost': 1.760489564268756, 'body|boost': 7.3138660889722935}\n",
      " - iteration 6 scored 0.2667 with: {'url|boost': 0.9181467919482657, 'title|boost': 1.576224508678923, 'body|boost': 9.512391370677935}\n",
      " - iteration 7 scored 0.2699 with: {'url|boost': 0.6440712262305793, 'title|boost': 6.128664366080648, 'body|boost': 8.94242029457105}\n",
      " - iteration 8 scored 0.1651 with: {'url|boost': 7.459209945717692, 'title|boost': 3.7612083758613677, 'body|boost': 0.5486355145573841}\n",
      " - iteration 9 scored 0.1756 with: {'url|boost': 8.13777747015532, 'title|boost': 2.239565850681535, 'body|boost': 1.6551334348110516}\n",
      " - iteration 10 scored 0.1929 with: {'url|boost': 9.187267911473018, 'title|boost': 5.97988628281441, 'body|boost': 4.105717674370127}\n",
      " - iteration 11 scored 0.2032 with: {'url|boost': 7.247133370962439, 'title|boost': 3.460986254723903, 'body|boost': 5.24162143909437}\n",
      " - iteration 12 scored 0.2101 with: {'url|boost': 1.314568059167809, 'title|boost': 5.073340387907872, 'body|boost': 0.27290923160948505}\n",
      " - iteration 13 scored 0.2397 with: {'url|boost': 5.536533542167003, 'title|boost': 6.080319513962965, 'body|boost': 9.000265874781405}\n",
      " - iteration 14 scored 0.2606 with: {'url|boost': 1.0009080281362728, 'title|boost': 7.658065813757176, 'body|boost': 6.020989439478331}\n",
      " - iteration 15 scored 0.2542 with: {'url|boost': 2.9604428858267835, 'title|boost': 7.263460257875321, 'body|boost': 8.492700242325785}\n",
      " - iteration 16 scored 0.2613 with: {'url|boost': 2.0928479441025267, 'title|boost': 8.179608196584597, 'body|boost': 9.062451451712127}\n",
      " - iteration 17 scored 0.2156 with: {'url|boost': 0.5468061974885242, 'title|boost': 4.7733437267072425, 'body|boost': 0.21460625612368836}\n",
      " - iteration 18 scored 0.2187 with: {'url|boost': 7.069937371098703, 'title|boost': 4.808054013634862, 'body|boost': 7.142904636248555}\n",
      " - iteration 19 scored 0.2289 with: {'url|boost': 6.602693879049043, 'title|boost': 5.036368538539834, 'body|boost': 8.76800116383509}\n",
      " - iteration 20 scored 0.2043 with: {'url|boost': 4.0248682898955925, 'title|boost': 2.7917630405506673, 'body|boost': 2.597799134392505}\n",
      " - iteration 21 scored 0.2676 with: {'url|boost': 0.0, 'title|boost': 10.0, 'body|boost': 10.0}\n",
      " - iteration 22 scored 0.2633 with: {'url|boost': 0.0, 'title|boost': 10.0, 'body|boost': 7.7799006405551605}\n",
      " - iteration 23 scored 0.2292 with: {'url|boost': 0.0, 'title|boost': 0.0, 'body|boost': 6.86390978658188}\n",
      " - iteration 24 scored 0.2759 with: {'url|boost': 0.0, 'title|boost': 3.3416552649145714, 'body|boost': 9.5487649885748}\n",
      " - iteration 25 scored 0.2759 with: {'url|boost': 0.0, 'title|boost': 4.4308440277049534, 'body|boost': 6.814960021809229}\n",
      " - iteration 26 scored 0.2106 with: {'url|boost': 0.23238300916596524, 'title|boost': 9.636283825132034, 'body|boost': 0.08862643366223094}\n",
      " - iteration 27 scored 0.2224 with: {'url|boost': 10.0, 'title|boost': 10.0, 'body|boost': 10.0}\n",
      " - iteration 28 scored 0.2750 with: {'url|boost': 0.0, 'title|boost': 3.895101311574409, 'body|boost': 8.140949786142993}\n",
      " - iteration 29 scored 0.2747 with: {'url|boost': 0.0, 'title|boost': 4.3941660885407, 'body|boost': 10.0}\n",
      " - iteration 30 scored 0.2120 with: {'url|boost': 8.895553012382269, 'title|boost': 0.08659464012671704, 'body|boost': 9.97776707806867}\n",
      " - iteration 31 scored 0.2699 with: {'url|boost': 1.6938918872260813, 'title|boost': 3.4799119722973177, 'body|boost': 9.868921869054745}\n",
      " - iteration 32 scored 0.1662 with: {'url|boost': 9.842935544067439, 'title|boost': 9.97113977526075, 'body|boost': 0.3848939180868772}\n",
      " - iteration 33 scored 0.2722 with: {'url|boost': 0.10251223241787401, 'title|boost': 7.540607799231988, 'body|boost': 9.839491238708955}\n",
      " - iteration 34 scored 0.2601 with: {'url|boost': 0.09652264641929366, 'title|boost': 5.822594193802138, 'body|boost': 4.363280088202509}\n",
      " - iteration 35 scored 0.2767 with: {'url|boost': 0.0, 'title|boost': 2.8955868490965573, 'body|boost': 10.0}\n",
      " - iteration 36 scored 0.2738 with: {'url|boost': 0.0, 'title|boost': 5.3074346171992275, 'body|boost': 7.22931078547814}\n",
      " - iteration 37 scored 0.2607 with: {'url|boost': 0.07775018592854678, 'title|boost': 0.12132089276712502, 'body|boost': 0.29710854619357746}\n",
      " - iteration 38 scored 0.2496 with: {'url|boost': 0.05502289064468369, 'title|boost': 9.703260434575421, 'body|boost': 4.667554148483838}\n",
      " - iteration 39 scored 0.2741 with: {'url|boost': 0.0, 'title|boost': 3.573022230041076, 'body|boost': 6.626753747239223}\n",
      " - iteration 40 scored 0.2498 with: {'url|boost': 4.207655568072854, 'title|boost': 9.91888699833704, 'body|boost': 9.869983214919792}\n",
      " - iteration 41 scored 0.2459 with: {'url|boost': 0.10348720779213007, 'title|boost': 0.11337301144142554, 'body|boost': 2.589790215135414}\n",
      " - iteration 42 scored 0.2776 with: {'url|boost': 0.0, 'title|boost': 3.326696098756645, 'body|boost': 10.0}\n",
      " - iteration 43 scored 0.2765 with: {'url|boost': 0.0, 'title|boost': 2.8877479481042316, 'body|boost': 10.0}\n",
      " - iteration 44 scored 0.2397 with: {'url|boost': 0.24010524192275123, 'title|boost': 0.14987488699649834, 'body|boost': 9.981833147860904}\n",
      " - iteration 45 scored 0.1544 with: {'url|boost': 6.610089293709387, 'title|boost': 0.025523238093470017, 'body|boost': 0.20293519702985766}\n",
      " - iteration 46 scored 0.2777 with: {'url|boost': 0.4328055926726183, 'title|boost': 3.132994546113439, 'body|boost': 10.0}\n",
      " - iteration 47 scored 0.2775 with: {'url|boost': 0.28842310661961157, 'title|boost': 3.3986622763336225, 'body|boost': 10.0}\n",
      " - iteration 48 scored 0.2778 with: {'url|boost': 0.2830490684453682, 'title|boost': 3.2066433450511065, 'body|boost': 10.0}\n",
      " - iteration 49 scored 0.2778 with: {'url|boost': 0.28136575467352365, 'title|boost': 3.2090870417854616, 'body|boost': 10.0}\n",
      " - iteration 50 scored 0.2303 with: {'url|boost': 3.9439391428640103, 'title|boost': 9.995120871879848, 'body|boost': 4.439456677101027}\n",
      "Best score: 0.2778\n",
      "Best params: {'url|boost': 0.2830490684453682, 'title|boost': 3.2066433450511065, 'body|boost': 10.0}\n",
      "Final params: {'url|boost': 0.2830490684453682, 'title|boost': 3.2066433450511065, 'body|boost': 10.0}\n",
      "\n",
      "CPU times: user 1min, sys: 32.9 s, total: 1min 33s\n",
      "Wall time: 48min 26s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "\n",
    "_, _, final_params_most_fields, metadata_most_fields = optimize_query_mrr100(es, max_concurrent_searches, index, template_id,\n",
    "    config_space=Config.parse({\n",
    "        'method': 'bayesian',\n",
    "        'num_iterations': 50,\n",
    "        'num_initial_points': 20,\n",
    "        'space': {\n",
    "            'url|boost': { 'low': 0.0, 'high': 10.0 },\n",
    "            'title|boost': { 'low': 0.0, 'high': 10.0 },\n",
    "            'body|boost': { 'low': 0.0, 'high': 10.0 }\n",
    "        }\n",
    "    }))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x432 with 9 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "_ = plot_objective(metadata_most_fields, sample_source='result')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Evaluation with: MRR@100\n",
      "Score: 0.3050\n",
      "CPU times: user 1.81 s, sys: 571 ms, total: 2.38 s\n",
      "Wall time: 6min 13s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "\n",
    "_ = evaluate_mrr100_dev(es, max_concurrent_searches, index, template_id, params=final_params_most_fields)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
